package com.efuture.chapterfive

/* @Description: Kotlin语言copy函数的学习
 * @Auther: zhaoshanshan
 * @Date: 2022/03/07/2:15 下午
 */
data class Demo85(var name:String,var age:Int){//主构造
   var coreInfo = ""
    constructor(name:String):this(name,30){
        println("调用次构造")
        coreInfo = "增加核心内容"
    }

    override fun toString(): String {
       return "name:$name;age$age;coreInfo:$coreInfo"
    }
}
fun main() {
    val d = Demo85("赵山山");
    println(d)//name:赵山山;age30;coreInfo:增加核心内容 调用了重写的toString方法
    //调用copy函数 只有数据类有该方法
    val newD = d.copy()//copy 函数 只管主构造不管次构造 会造成数据丢失 name:赵山山;age30;coreInfo:
    println(newD)
}